//常用
    #include <iostream>
    using namespace std;

    int main(){
        cout << "hello" << endl;

        system("pause");
        return 0;
    }

//c++编译
    g++ a.cpp -o c

//定义常量变量
    #define Week 7  //定义常量，定义后不可以修改
    const int a = 10  //const修饰变量，定义常量，定义后不可以修改
    int a = 10  //定义变量,可修改

//定义变量时添加类型是为了给它分配的合适的存储空间

//统计数据类型所占的内存大小(数据类型/变量)
    int a = 10;
    sizeof(a);  //4
    sizeof(short); //2

//基本数据类型
    short/int/long/long long    //整型   int 4字节
    float/double                //浮点型  float 4字节 7位有效数字 ；double 8字节  15-16有效数字       float a= 3.1f; double b = 5.2; //默认只输出6个有效数字  
    char                        //字符型  char a = 'a' ;只能单引号且只能有一个字符  1字节
    char（c） / string(c++)      //字符串  c=>char a[]="hshshs"; 添加[]且双引号   c++ =>  strint a = "hahahah";必须双引号
    bool                        //布尔型  bool a = true    1字节

//一维数组
    1. int a[2];  a[0]=1; a[1]=2;
    2. int a[2]={1,3};  //数量不够0填充
    3. int a[]={2,3};

    sizeof(a)/sizeof(a[0])//获取数组长度，没有现成方法

    int a[]={20,30};
    cout << (long)a<< endl;  //查看数组地址   这是因为Linux 64位系统上指针类型占用8个字节，而int类型占用4个字节，所以会出现loses precision。可以先将int* 转成long类型，long类型可以隐式类型转换到int类型
    cout << "长度=" << (long)&a[0]<< endl;//查看第一个元素地址

//二维数组
    1.  int a[2][3];a[0][0] =1;a[0][1] =2;a[0][2] =3;a[1][0] =4;a[1][1] =5;a[1][2] =6;
    2.  int a[2][3]={{1,2,3},{4,5,6}};
    3.  int a[2][3]={1,2,3,4,5,6};//程序能自动区分
    4.  int a[][3]={1,2,3,4,5,6};//程序能自动区分

    sizeof(a)/sizeof(a[0])//获取数组长度，没有现成方法

    int a[][3]={1,2,3,4,5,6};
    cout << (long)a<< endl;  //查看数组地址   这是因为Linux 64位系统上指针类型占用8个字节，而int类型占用4个字节，所以会出现loses precision。可以先将int* 转成long类型，long类型可以隐式类型转换到int类型
    cout << "长度=" << (long)&a[0][0]<< endl;//查看第一个元素地址


//字符转换ASCII码
    char a = 'a';
    (int)a

//转义字符
    "\n"    //换行
    "\\"    //输出'\'
    "\t"    //tab制表符
    "\"\""  //输出双引号

//获取键盘输入的值
    int a = 0;
    cout << "输入" << endl; 
    cin >> a;
    cout << a<< endl;

//if判断(一样)
    if(a==b){

    }else if{
        
    }else{
        
    }

//三目运算（一样）
    int c= a >b ? a :b;

//switch(一样)//switch（）里面的内容只能是整型/字符型        和if比：结构清晰，执行效率高；不能判断范围
    int a=9;
    switch (a)
    {
    case 9:
        a--;
        cout << a << endl;
        break;
    
    default:
        cout << "haha" << endl;
        break;
    }

//while(一样)
    int a=9;
    while (a>1)
    {
        cout << a<< endl;
        a--;
    }


//生成随机数
    int a = rand()%100    //0-99   伪随机数，多次调用结果一样

    srand((unsigned int)time(NULL)); //添加一行这个
    int a= rand()%100;  //0-99   真随机数

//dowhile(一样)

//for（一样）
    for(int i=1;i<10;i++){
        for(int j=1;j<10;j++){
            cout << '*';
        }
        cout << endl;
    }

//break;continue(一样)

//goto 
    cout << "111"<< endl;
    goto come;
    cout << "222"<< endl;
    cout << "333"<< endl;
    come:
    cout << "444"<< endl;
    cout << "555"<< endl;

//函数的声明
    int max(int a,int b)   //声明之后该函数可以随意放在main（）的前后，如果没有声明，则函数必须在main（）函数前面


//多文件调用
    1.创建 .h后缀名的头文件
    2.创建 .cpp后缀名的源文件
    3.在头文件中写函数的声明
        #include <iostream>
        using namespace std;

        int sum(int x,int y);
    4.在源文件中写函数的定义
        #include "common.h"
        using namespace std;

        int sum(int x,int y){
            int b = x+y;
            return b;
        }
    5.在主文件函数中进行调用
        #include "common.cpp"
         int a = sum(x,y);






